/**
 */
package fUML.Semantics.Activities.IntermediateActivities;

import fUML.Semantics.CommonBehaviors.BasicBehaviors.Execution;

/**
 * <!-- begin-user-doc -->
 * A representation of the model object '<em><b>Activity Execution</b></em>'.
 * <!-- end-user-doc -->
 *
 * <!-- begin-model-doc -->
 * An activity execution is used to execute a specific activity. The type of the
 *                 activity execution must be an activity.
 *  When executed, the activity
 *                 execution creates activity edge instances for all activity edges, activity node
 *                 activations for all activity nodes and makes offers to all nodes with no incoming
 *                 edges.
 *  Execution terminates when either all node activations are complete,
 *                 or an activity final node is executed.
 * <!-- end-model-doc -->
 *
 * <p>
 * The following features are supported:
 * <ul>
 *   <li>{@link fUML.Semantics.Activities.IntermediateActivities.ActivityExecution#getActivationGroup <em>Activation Group</em>}</li>
 * </ul>
 * </p>
 *
 * @see fUML.Semantics.Activities.IntermediateActivities.IntermediateActivitiesPackage#getActivityExecution()
 * @model
 * @generated
 */
public interface ActivityExecution extends Execution {
	/**
	 * Returns the value of the '<em><b>Activation Group</b></em>' containment reference.
	 * It is bidirectional and its opposite is '{@link fUML.Semantics.Activities.IntermediateActivities.ActivityNodeActivationGroup#getActivityExecution <em>Activity Execution</em>}'.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * <!-- begin-model-doc -->
	 * The group of activations of the activity nodes of the activity.
	 * <!-- end-model-doc -->
	 * @return the value of the '<em>Activation Group</em>' containment reference.
	 * @see #setActivationGroup(ActivityNodeActivationGroup)
	 * @see fUML.Semantics.Activities.IntermediateActivities.IntermediateActivitiesPackage#getActivityExecution_ActivationGroup()
	 * @see fUML.Semantics.Activities.IntermediateActivities.ActivityNodeActivationGroup#getActivityExecution
	 * @model opposite="activityExecution" containment="true" required="true" ordered="false"
	 * @generated
	 */
	ActivityNodeActivationGroup getActivationGroup();

	/**
	 * Sets the value of the '{@link fUML.Semantics.Activities.IntermediateActivities.ActivityExecution#getActivationGroup <em>Activation Group</em>}' containment reference.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @param value the new value of the '<em>Activation Group</em>' containment reference.
	 * @see #getActivationGroup()
	 * @generated
	 */
	void setActivationGroup(ActivityNodeActivationGroup value);

} // ActivityExecution
